package com.eclipse.e20200205_集合.ArrayList;
import java.util.ArrayList;
import java.util.ListIterator;
public class 去重 {

	/**
	 * 给我一个集合，把里面重复的元素去除
	 * 返回一个没有重复元素的集合
	 */
	static ArrayList getSingleEle(ArrayList list) {

		// 1.创建一个空的集合
		ArrayList newList = new ArrayList();
		
		// 2.依次取出每一个元素
		ListIterator it = list.listIterator();
		
		while (it.hasNext()) {
			// 3.每取出一个元素，要先判断新集合当中 ，是否已经包含了该 元素
			Object obj = it.next();
			// 4.如果已经包含该元素，就不把该 元素添加到新集合当中，（不包含时才添加到新集合当中）
			if (!newList.contains(obj)) { // contains可以判断一个集合当中是否包含某一个对象
				// 不包含
				newList.add(obj);
			}
		}
		//System.out.println(newList);
		return newList;
		
	}

	@SuppressWarnings({ "rawtypes", "unchecked" })
	public static void main(String[] args) {

		// 去除集合当中重复的元素
		ArrayList list = new ArrayList();
		list.add("a");
		list.add("a");
		list.add("b");
		list.add("b");
		list.add("c");
		list.add("c");
		list.add("d");
		
		System.out.println(list);
		// [a,b,c,d]
		
		ArrayList newList = getSingleEle(list);
		System.out.println(newList);
		
		ArrayList list2 = new ArrayList();
		list2.add("g");
		list2.add("g");
		list2.add("m");
		ArrayList newList2 = getSingleEle(list2);
		System.out.println(newList2);
		
		
		/*
		// 1.创建一个空的集合
		ArrayList newList = new ArrayList();
		// 2.依次取出每一个元素
		ListIterator it = list.listIterator();
		while (it.hasNext()) {
			// 3.每取出一个元素，要先判断新集合当中 ，是否已经包含了该 元素
			Object obj = it.next();
			// 4.如果已经包含该元素，就不把该 元素添加到新集合当中，（不包含时才添加到新集合当中）
			if (!newList.contains(obj)) { // contains可以判断一个集合当中是否包含某一个对象
				// 不包含
				newList.add(obj);
			}
		}
		System.out.println(newList);
		*/
	}
}
